package br.com.ss.bean;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import br.com.ss.entity.Menu;
import br.com.ss.enumeration.EPerfilMenu;
import br.com.ss.facade.MenuFacade;


@ManagedBean(name = "menuBean")
@SessionScoped
public class MenuBean {
	
	@EJB
	private MenuFacade menuFacade;
	
	private List<Menu> menusPublicos;
	
	private Menu menuSelecionado;
	
	public List<Menu> buscaMenusPublicos(){
		
		List<Menu> menus = new ArrayList<Menu>();
		
		menus = menuFacade.recuperaMenu(EPerfilMenu.PUBLICO);
		
		return menus;
		
	}

	public void listarMenu(Menu menu){
		
		try{
			
			String perfil = "/SurfShop/pages" + (menu.getPerfil().equals(EPerfilMenu.PUBLICO) ? "/shop/" : "/protected/");
			
			menuSelecionado = menu;
			FacesContext.getCurrentInstance().getExternalContext().redirect(perfil + menu.getLocal());
			
		} catch (IOException e){
			e.printStackTrace();
		}
	}
	
	
	public void teste(){
		System.out.println("oi");
		
	}
	
	public List<Menu> getMenusPublicos() {
		if(menusPublicos == null)
			setMenusPublicos(buscaMenusPublicos());
		
		return menusPublicos;
	}

	public void setMenusPublicos(List<Menu> menusPublicos) {
		this.menusPublicos = menusPublicos;
	}

	public Menu getMenuSelecionado() {
		return menuSelecionado;
	}

	public void setMenuSelecionado(Menu menuSelecionado) {
		this.menuSelecionado = menuSelecionado;
	}
	
	
}
